import matplotlib.pyplot as plt
print(plt.style.available)

# import matplotlib.pyplot as plt
# from random import choice

# class RandomWalk:
#     """A class to generate random walks."""

#     def __init__(self, num_points=500):
#         """Initialize attributes of a walk."""
#         self.num_points = num_points

#         # All walks start at (0, 0).
#         self.x_values = [0]
#         self.y_values = [0]

#     def fill_walk(self):
#         """Calculate all the points in the walk."""

#         # Keep taking steps until the walk reaches the desired length.
#         while len(self.x_values) < self.num_points:
#             # Decide which direction to go and how far to go in that direction.
#             x_step = self.get_step()
#             y_step = self.get_step()

#             # Reject moves that go nowhere.
#             if x_step == 0 and y_step == 0:
#                 continue

#             # Calculate the new position.
#             x = self.x_values[-1] + x_step
#             y = self.y_values[-1] + y_step

#             self.x_values.append(x)
#             self.y_values.append(y)

#     def get_step(self):
#         """Determine the direction and distance for a step."""
#         direction = choice([1, -1])
#         distance = choice([0, 1, 2, 3, 4])
#         return direction * distance

# # Make a random walk, and plot the points.
# rw = RandomWalk()
# rw.fill_walk()

# plt.style.use('ggplot')  # or any other available style

# fig, ax = plt.subplots()
# ax.plot(rw.x_values, rw.y_values, linewidth=2)

# # Emphasize the first and last points.
# ax.scatter(0, 0, c='green', edgecolors='none', s=100)
# ax.scatter(rw.x_values[-1], rw.y_values[-1], c='red', edgecolors='none', s=100)

# plt.show()
